import { execSync } from 'child_process'
import { readJSONSync } from 'fs-extra/esm'
import { consola } from 'consola'
import path from 'path'

// 读取 package.json 中的 version 字段
try {
  const { version: oldVersion } = readJSONSync('./package.json')

  // 自动化发布过程
  // execSync('npx bumpp', { stdio: 'inherit' })

  // 再次读取 version 字段
  const { version } = readJSONSync('package.json')
  console.log(version, typeof oldVersion);

  // 比较新旧版本、如果一致就退出进程
  if (oldVersion === version) {
    consola.error('canceled')
    process.exit()
  }
  // 类型声明构建
  // execSync('npm run build:types', { stdio: 'inherit' })

  // add
  execSync('git add .', { stdio: 'inherit' })
  // commit
  execSync(`git commit -m "chore: 📦 release v${version}"`, { stdio: 'inherit' })
  // 打tag
  execSync(`git tag -a v${version} -m "v${version}"`, { stdio: 'inherit' })
} catch (error) {
  consola.error(new Error(error))
}
